﻿#region 참조 네임스페이스

using System.Collections.Generic;

#endregion

namespace Skying.Diagnostics.Logger.Arbitration
{
	/// <summary>
	/// <para><see cref="Skying.Diagnostics.Logger.LogSeverity"/>를 통한 로깅 제한 정보를 정의한다.</para>
	/// <para><see cref="Skying.Diagnostics.Logger.Arbitration.Arbitration"/> 정보에 의해 걸러지지 않은 로그를 처리하게 된다.</para>
	/// </summary>
	public class Root
	{
		#region 프로퍼티

		/// <summary>
		/// 로깅을 제한할 로그 심각도를 가져온다.
		/// </summary>
		public LogSeverity LogSeverity
		{
			get;
			private set;
		}

		/// <summary>
		/// <see cref="Skying.Diagnostics.Logger.Arbitration.Arbitration"/>을 통해 로깅할 <see cref="Skying.Diagnostics.Logger.Entry.LogEntry"/> 명칭의 목록을 가져온다.
		/// </summary>
		public IList<string> Entries
		{
			get;
			private set;
		}

		#endregion

		#region 생성자/소멸자

		public Root(LogSeverity logSeverity, IList<string> entries)
		{
			this.LogSeverity = logSeverity;

			this.Entries = entries;
		}

		#endregion
	}
}